gtkwindow: Resort to regular event bubbling by all means on non-toplevels
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 4 Nov 2014 16:08:49 +0000 (17:08 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 4 Nov 2014 18:03:27 +0000 (19:03 +0100)
If the multipress gesture is not created (ie. not a toplevel GtkWindow),
also avoid possibly calling gtk_widget_event() on the events gotten here.

gtk/gtkwindow.c

index ac3b5c09cb5e732f7c2d60d930dc3f0789b859c9..76b59de973311725624f9e5bfa26ed36718194b7 100644 (file)
@@ -7735,6 +7735,7 @@ gtk_window_handle_wm_event (GtkWindow *window,
 gboolean
 _gtk_window_check_handle_wm_event (GdkEvent *event)
 {
+  GtkWindowPrivate *priv;
   GtkWidget *widget;
 
   widget = gtk_get_event_widget (event);
@@ -7742,6 +7743,11 @@ _gtk_window_check_handle_wm_event (GdkEvent *event)
   if (!GTK_IS_WINDOW (widget))
     return GDK_EVENT_PROPAGATE;
 
+  priv = GTK_WINDOW (widget)->priv;
+
+  if (!priv->multipress_gesture)
+    return GDK_EVENT_PROPAGATE;
+
   if (event->type != GDK_BUTTON_PRESS && event->type != GDK_BUTTON_RELEASE &&
       event->type != GDK_MOTION_NOTIFY && event->type != GDK_TOUCH_BEGIN &&
       event->type != GDK_TOUCH_END && event->type != GDK_TOUCH_UPDATE)